package io.github.weiranyi.confirm;

import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.amqp.rabbit.support.CorrelationData;

/**
 * @Description
 * @Return
 * @Author https://weiranyi.github.io
 * @Date Created in 2022-12-20 21:26
 **/
public class MsgConfirm implements RabbitTemplate.ConfirmCallback {
    // （消息唯一ID，消息是否确认成功，异常信息）
    public void confirm(CorrelationData correlationData, boolean ack, String cause) {
        if (ack) {
            System.out.println("消息确认成功");
        } else {
            System.out.println("消息确认失败!!!!!!");
            // 要确保本条消息一定得发布到队列中，商品下单信息等，可以采取补发方式
            // 方案一：采用递归
            // 方案二：redis+定时任务（JDK得timer 或 定时任务框架）
        }
    }
}
